package com.kinghunt.misp.service.api.configx;

import com.bygoodtech.kings.common.dto.ApiResult;
import com.kinghunt.misp.common.dto.configx.OrgConfigDTO;
import com.kinghunt.misp.common.dto.configx.SysConfigDTO;
import com.kinghunt.misp.common.dto.userx.UserDTO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * 配置服务
 */
public interface ConfigService {

    /**
     * 获取系统级配置
     *
     * @return
     */
    ApiResult<SysConfigDTO> getSysConfig();

    /**
     * 获取系统级配置
     *
     * @param orgId
     * @return
     */
    ApiResult<OrgConfigDTO> getOrgConfig(Long orgId);

    /**
     * 更新系统级配置
     *
     * @param sysConfigDTO
     * @return
     */
    ApiResult<Boolean> updateSysConfig(SysConfigDTO sysConfigDTO);

    /**
     * 更新机构级配置
     *
     * @param orgId
     * @param orgConfigDTO
     * @return
     */
    ApiResult<Boolean> updateOrgConfig(Long orgId, OrgConfigDTO orgConfigDTO);

    /**
     * 上传查重文件
     *
     * @param loginUser
     * @param file
     * @param orgId
     * @param request
     * @return
     */
    ApiResult<String> uploadDuplicateCheckFile(UserDTO loginUser, MultipartFile file, Long orgId, HttpServletRequest request);
}
